package com.tedu.sp03.service;

import com.fasterxml.jackson.core.type.TypeReference;//注意导包
import com.tedu.sp01.entity.User;
import com.tedu.sp01.service.UserService;
import com.tedu.web.util.JsonUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Service;

import java.util.List;
@RefreshScope  //配置刷新用户数据，不再写死
@Slf4j
@Service
public class UserServiceImpl implements UserService {


    @Value("${sp.user-service.users}")
        private  String userJson;

    @Override
    public User getUser(Integer userId) {
        log.info("获取用户：userId="+userId);//方法类执行日志
        //userJson -- List<User>
        List<User> list = JsonUtil.from(userJson, new TypeReference<List<User>>() {
        });
        for (User u:list
             ) {
            if (u.getId().equals(userId)){
                return u;
            }
        }

        return new User(userId,"用户名:"+userId,"密码："+userId);
    }

    @Override
    public void addScore(Integer userId, Integer score) {
            log.info("增加的用户积分：userId="+userId+",score="+score);
    }
}
